package jp.ac.segakuen;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@SuppressWarnings("serial")
public class MailTransferServlet extends HttpServlet {
	public void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {
		doGet(req,resp);
	}

	@SuppressWarnings("static-access")
	public void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws IOException {

        // UTF-8で入力を受付
        req.setCharacterEncoding("UTF-8");

        // パラメータを取り出す
//        Enumeration<String> params = req.getParameterNames();

        // パラメータをHTMLで出力する形式へ加工

        StringBuffer buffer = new StringBuffer();
        // ついでにMailのBodyも加工しておく
        StringBuffer mailbuffer = new StringBuffer();
 		String referparameter = new String();
 		referparameter = req.getParameter("refer");
 		String mailstring = new String();
 		mailstring = req.getParameter("E-maill1");

        //共通項目の印字
        //refer
        buffer.append("<p>");
        buffer.append("ページ:");
        mailbuffer.append("ページ:");
        buffer.append(referparameter);
        mailbuffer.append(referparameter);
        mailbuffer.append(System.getProperty("line.separator"));
        buffer.append("</p>");
        //名前
        buffer.append("<p>");
        buffer.append("お名前: ");
        mailbuffer.append("お名前: ");
        buffer.append(req.getParameter("お名前"));
        mailbuffer.append(req.getParameter("お名前"));
        mailbuffer.append(System.getProperty("line.separator"));
        buffer.append("</p>");
        //振り仮名
        buffer.append("<p>");
        buffer.append("ふりがな: ");
        mailbuffer.append("ふりがな: ");
        buffer.append(req.getParameter("ふりがな"));
        mailbuffer.append(req.getParameter("ふりがな"));
        mailbuffer.append(System.getProperty("line.separator"));
        buffer.append("</p>");
        //E-mailアドレス
        buffer.append("<p>");
        buffer.append("電子メールアドレス: ");
        mailbuffer.append("電子メールアドレス: ");
        buffer.append(req.getParameter("E-maill1"));
        mailbuffer.append(req.getParameter("E-maill1"));
        mailbuffer.append(System.getProperty("line.separator"));
        buffer.append("</p>");
        
    
        
        if (referparameter.equals("オープンキャンパスお申込み")) {
            //参加希望日
            buffer.append("<p>");
            buffer.append("参加希望日: ");
            mailbuffer.append("参加希望日: ");
            buffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //寮見学希望
            buffer.append("<p>");
            buffer.append("寮見学希望: ");
            mailbuffer.append("寮見学希望: ");
            buffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");     
            //所属
            buffer.append("<p>");
            buffer.append("所属: ");
            mailbuffer.append("所属: ");
            buffer.append(req.getParameter("所属"));
            mailbuffer.append(req.getParameter("所属"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");    
            //体験教室希望コース
            buffer.append("<p>");
            buffer.append("体験教室希望コース: ");
            mailbuffer.append("体験教室希望コース: ");
            buffer.append(req.getParameter("cource"));
            mailbuffer.append(req.getParameter("cource"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //メッセージ
            buffer.append("<p>");
            buffer.append("メッセージ: ");
            mailbuffer.append("メッセージ: ");
            buffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            

        }else if(referparameter.equals("入試説明会申込")){
            //参加希望日
            buffer.append("<p>");
            buffer.append("参加希望日: ");
            mailbuffer.append("参加希望日: ");
            buffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //寮見学希望
            buffer.append("<p>");
            buffer.append("寮見学希望: ");
            mailbuffer.append("寮見学希望: ");
            buffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");     
            //所属
            buffer.append("<p>");
            buffer.append("所属: ");
            mailbuffer.append("所属: ");
            buffer.append(req.getParameter("所属"));
            mailbuffer.append(req.getParameter("所属"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");    
            //メッセージ
            buffer.append("<p>");
            buffer.append("メッセージ: ");
            mailbuffer.append("メッセージ: ");
            buffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");  
        }else if(referparameter.equals("３次元ＣＡＤ設計技術者養成講座受講申込み")){
            //郵便番号
            buffer.append("<p>");
            buffer.append("郵便番号: ");
            mailbuffer.append("郵便番号: ");
            buffer.append(req.getParameter("郵便番号"));
            mailbuffer.append(req.getParameter("郵便番号"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //寮見学希望
            buffer.append("<p>");
            buffer.append("住所: ");
            mailbuffer.append("住所: ");
            buffer.append(req.getParameter("住所"));
            mailbuffer.append(req.getParameter("住所"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");     
            //所属
            buffer.append("<p>");
            buffer.append("電話番号: ");
            mailbuffer.append("電話番号: ");
            buffer.append(req.getParameter("電話番号"));
            mailbuffer.append(req.getParameter("電話番号"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");    
            //メッセージ
            buffer.append("<p>");
            buffer.append("メッセージ: ");
            mailbuffer.append("メッセージ: ");
            buffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>"); 
        }else if (referparameter.equals("体験教室申込")) {
            //参加希望日
            buffer.append("<p>");
            buffer.append("参加希望日: ");
            mailbuffer.append("参加希望日: ");
            buffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(req.getParameter("参加希望日"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //寮見学希望
            buffer.append("<p>");
            buffer.append("寮見学希望: ");
            mailbuffer.append("寮見学希望: ");
            buffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(req.getParameter("寮見学希望"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");     
            //所属
            buffer.append("<p>");
            buffer.append("所属: ");
            mailbuffer.append("所属: ");
            buffer.append(req.getParameter("所属"));
            mailbuffer.append(req.getParameter("所属"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");    
            //メッセージ
            buffer.append("<p>");
            buffer.append("メッセージ: ");
            mailbuffer.append("メッセージ: ");
            buffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>"); 
        }else if (referparameter.equals("お問合せ")) {
            //メッセージ
            buffer.append("<p>");
            buffer.append("お問合せ内容: ");
            mailbuffer.append("お問合せ内容: ");
            buffer.append(req.getParameter("お問合せ内容"));
            mailbuffer.append(req.getParameter("お問合せ内容"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>"); 
        }else if(referparameter.equals("資料請求")){
            //所属
            buffer.append("<p>");
            buffer.append("所属: ");
            mailbuffer.append("所属: ");
            buffer.append(req.getParameter("所属"));
            mailbuffer.append(req.getParameter("所属"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //学年
            buffer.append("<p>");
            buffer.append("学年: ");
            mailbuffer.append("学年: ");
            buffer.append(req.getParameter("学年"));
            mailbuffer.append(req.getParameter("学年"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //性別
            buffer.append("<p>");
            buffer.append("性別: ");
            mailbuffer.append("性別: ");
            buffer.append(req.getParameter("性別"));
            mailbuffer.append(req.getParameter("性別"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //郵便番号
            buffer.append("<p>");
            buffer.append("郵便番号: ");
            mailbuffer.append("郵便番号: ");
            buffer.append(req.getParameter("zip"));
            mailbuffer.append(req.getParameter("zip"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //住所
            buffer.append("<p>");
            buffer.append("住所: ");
            mailbuffer.append("住所: ");
            buffer.append(req.getParameter("addr"));
            mailbuffer.append(req.getParameter("addr"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>"); 
            //電話番号
            buffer.append("<p>");
            buffer.append("電話番号: ");
            mailbuffer.append("電話番号: ");
            buffer.append(req.getParameter("電話番号"));
            mailbuffer.append(req.getParameter("電話番号"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>"); 
             //学校名
            buffer.append("<p>");
            buffer.append("学校名: ");
            mailbuffer.append("学校名: ");
            buffer.append(req.getParameter("学校名"));
            mailbuffer.append(req.getParameter("学校名"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //学年
            buffer.append("<p>");
            buffer.append("学年: ");
            mailbuffer.append("学年: ");
            buffer.append(req.getParameter("学年"));
            mailbuffer.append(req.getParameter("学年"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
            //メッセージ
            buffer.append("<p>");
            buffer.append("メッセージ: ");
            mailbuffer.append("メッセージ: ");
            buffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(req.getParameter("メッセージ"));
            mailbuffer.append(System.getProperty("line.separator"));
            buffer.append("</p>");
        }

        // HTML文書を出力
        resp.setContentType("text/html; charset=UTF-8");

        PrintWriter out = resp.getWriter();
        out.println("<html><head><title>エプソン情報科学専門学校 お問い合わせありがとうございます</title></head><body>");
        out.println("<title>エプソン情報科学専門学校 [エプ専] </title>");
        out.println("<h1 style=\"border-top-color:rgb(0, 63, 152);border-right-color:rgb(0, 63, 152);border-bottom-color:rgb(0, 63, 152);border-left-color:rgb(0, 63, 152);border-top-style:solid;border-right-style:solid;border-bottom-style:solid;border-left-style:solid;border-top-width:0px;border-right-width:0px;border-bottom-width:1px;border-left-width:10px;clear:both;color:rgb(0, 0, 0);font-size:14px;height:24px;margin-top:20px;margin-right:0px;margin-bottom:15px;margin-left:0px;padding-top:6px;padding-right:0px;padding-bottom:0px;padding-left:15px;width:525px\">お問い合わせ、お申し込みいただきありがとうございます</h1>");
        out.println("<a href=\"http://www.se-gakuen.ac.jp/index.htm\">HOMEへ戻る</a>");
        out.println("<p>以下の内容で受け付けました</p>");

        out.println(buffer);
        out.println("<a href=\"http://www.se-gakuen.ac.jp\">HOMEへ戻る</a>");        
        out.println("</body></html>");
        
        Properties props = new Properties();
        Session session = Session.getDefaultInstance(props, null);

        String msgBody = mailbuffer.toString();

        try {
        	Message msg = new MimeMessage(session);
            msg.setFrom(new javax.mail.internet.InternetAddress("webadmin@se-gakuen.ac.jp"));
            MailListTableUtil mltu = new MailListTableUtil();
            msg.addRecipients(Message.RecipientType.TO,
                             javax.mail.internet.InternetAddress.parse(mltu.getMailAddressList()));
            Address address[] = {new InternetAddress(mailstring)};
            msg.setReplyTo(address);
            msg.setSubject("SEGakuenWebmail");
            msg.setText(msgBody);
            Transport.send(msg);

        } catch (javax.mail.internet.AddressException e) {
            System.out.println(e);
        } catch (MessagingException e) {
            System.out.println(e);
        }

	}
}

